﻿using ExcellentProject.Dominio.Cuestionarios.Entidades;
using ExcellentProject.Dominio.Cuestionarios.Servicios.Recursos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Transactions;

namespace ExcellentProject.Aplicacion.Cuestionarios.Servicios.ServicioDeRecursos
{
    public class ServicioDeRecursos
    {
         IServicioDeAdministracionDeRecursos servicioDeRecuros;

         public ServicioDeRecursos(IServicioDeAdministracionDeRecursos servicioDeRecuros)
        {
            this.servicioDeRecuros = servicioDeRecuros;
        }

        public IEnumerable<Recurso> ConsultarRecursos(int? idRecurso)
        {
            var opcionesDeTransaccion = new TransactionOptions()
            {
                IsolationLevel = IsolationLevel.ReadUncommitted
            };

            IEnumerable<Recurso> resultado = null;

            using (var transaccion = new TransactionScope(TransactionScopeOption.Suppress, opcionesDeTransaccion))
            {
                resultado= servicioDeRecuros.ObtenerRecurso(idRecurso);
                transaccion.Complete();
            }
            return resultado;
        }
    }
}
